#ifndef __FUNC_H__
#define __FUNC_H__

#include <stdio.h>
typedef struct Double_Cycle_Link_list Link_List_t;
typedef struct Double_Cycle_Link_list* pLink_List_t;


struct Double_Cycle_Link_list
{
    struct Double_Cycle_Link_list *prev;
    char color[10];
    int page;
    char title[20];
    struct Double_Cycle_Link_list *next;
};
//初始化头结点
extern pLink_List_t Double_Cycle_Link_List_Init();

//创建新节点
extern pLink_List_t Create_new_node(pLink_List_t phead, char title[],int page,char color[]);
extern pLink_List_t Create_new_node_scanf(pLink_List_t phead);


//头插法
extern void Double_Cycle_Link_List_Head_Insert(pLink_List_t phead, pLink_List_t node);

// 查找数据
extern void Double_Cycle_Link_List_Search(pLink_List_t phead);

//删除数据
extern void Double_Cycle_Link_List_Random_Delet(pLink_List_t phead);

//修改数据
extern void Double_Cycle_Link_List_Modify(pLink_List_t peahd);

//遍历链表
extern void Print_Link_List_next(pLink_List_t phead);

// 释放链表
extern void Release_Cycle_Link_list(pLink_List_t phead);

//排序，从大到小排
//冒泡排序
extern void Double_Cycle_Link_list_Sort(pLink_List_t phead);

//获取节点数量
extern int Get_Node_Num();

//设置节点数量
extern void Set_Node_Num(int num);

//翻书功能
extern void Flip_book(pLink_List_t phead);

//菜单功能
extern void Menu();



#endif